using System.Windows;

namespace WPFTemplateLib.WpfConverters.Core
{
	/// <summary>
	/// 转换结果的类型
	/// </summary>
	public enum ConvertResultType
	{
		Visibility = 1,
		Bool = 2,
		String = 3,
		Int = 4,
		Float = 5,
		Double = 6,
		SolidColorBrush = 7,
		UInt = 8,
		Short = 9,
		UShort = 10,
		Byte = 11,
		Long = 12,
	}

	/// <summary>
	/// 一些有用的转换参数字符串
	/// </summary>
	public static class UsefulConvertParaStr
	{
		public static readonly string VisibleCollapsed = $"{Visibility.Visible}:{Visibility.Collapsed}:{ConvertResultType.Visibility}";
		public static readonly string CollapsedVisible = $"{Visibility.Collapsed}:{Visibility.Visible}:{ConvertResultType.Visibility}";
		public static readonly string VisibleHidden = $"{Visibility.Visible}:{Visibility.Hidden}:{ConvertResultType.Visibility}";
		public static readonly string HiddenVisible = $"{Visibility.Hidden}:{Visibility.Visible}:{ConvertResultType.Visibility}";

		public static readonly string TrueFalse = $"true:false:{ConvertResultType.Bool}";
		public static readonly string FalseTrue = $"false:true:{ConvertResultType.Bool}";
	}

	/// <summary>
	/// 获取结果的模式
	/// </summary>
	public enum ResultGetMode
	{
		/// <summary>
		/// 直接获取结果
		/// </summary>
		Direct,

		/// <summary>
		/// 从字符串转换结果
		/// </summary>
		ConvertFromString,
	}
}
